A database usually refers to an organized collection of data. The database comprises collection of data records, files, and other objects. Generally, the database comprises multiple tables. Each table of the databases may comprise one or more fields. For example, a table for storing personal records of employees of an organization may have multiple fields, such as name, address, date of birth, mobile number, e-mail address, and emergency contact number. The record of each of the employees is stored in the table as a row. With time, values or other data type stored in the database may need to be updated, new records may need to be added, and old records may need to be deleted.
Generally, organizations may have multiple databases to facilitate its business operations and for use by various software applications. To ensure the quality of data in each database, a database management system (DBMS) is used. The DBMS is usually configured to maintain the accuracy, availability, usability, and resilience of the database(s). The DBMS controls the creation, maintenance, and/or use of the databases. Further, the DBMS facilitates concurrent access of the multiple databases by the software applications.
A type of DBMS that is based on a relation model is a relational database management system (RDBMS). In a relational model, the data and the relationships amongst the data are stored in the form of one or more table(s). The data can be accessed or reassembled in many different ways without having to change the table forms. Various conventionally known databases, such as MySQL®, and Sybase™, are based on the relational model. The RDBMS provides relational operators to manipulate the data stored in the tables. The tables in a database pertaining to the relational model may include a row of column names specifying one or more attribute fields, and zero or more data rows containing one scalar value for each of the attribute fields.
A conventional RDBMS is typically queried using structured query language (SQL) based queries received from various software applications or from a user. The query received from the user may identify a primary key (PK). The primary key of a table uniquely identifies each record in the table. The PK may be a single attribute or a combination of multiple attributes. Generally, a foreign key (FK) is an attribute of one table/data set that maps with PK of another table/data set to form a relationship between the two tables/data sets. In other words, A foreign key (FK) is an attribute(s) in a table in the database that matches with the attributes of the PK to form a relationship. This relationship is conventionally referred to as a Primary Key-Foreign Key (PK-FK) pair. The relationship identified as PK-FK pair is useful to relate and identify the relationship of one variable with another. The PK-FK pair relationship further helps to obtain the information requested by the user without going through the numerous tables, thus saving time and effort. However, identification of such PK-FK pair relationships in large scale databases containing hundreds of thousands of rows and columns is a processor-intensive, computationally-intensive process and may often lead to many false positives.